-
Notifications
You must be signed in to change notification settings - Fork 59
Use Xcode version-aware iOS simulator device type selection for iOS 26 compatibility #1478
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…for iOS 26 compatibility Co-authored-by: rmarinho <[email protected]>
|
@copilot is it possible to just use the iPhone 16 if we are using Xcode 26 ? |
Co-authored-by: rmarinho <[email protected]>
Yes! I've updated the implementation to conditionally use iPhone 16 only when Xcode 16+ is detected. The selector now checks |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Summary
Fixes #1090 (and similar issues) where XHarness fails to create iOS 26 simulators with Xcode 16.4 because iPhone XS is not compatible with the latest iOS runtime.
Problem
When attempting to create iOS simulators for iOS 26.0 with Xcode 16.4, XHarness was requesting an iPhone XS device type which is no longer supported:
Changes
Updated
SimulatorSelector.csto conditionally select the iOS device type based on Xcode version:This applies to both iOS simulator device types and watchOS companion device types. The minimum version device type (
iPhone-6s) remains unchanged for backward compatibility.Implementation Details
DefaultSimulatorSelectorto acceptIMlaunchProcessManager(optional)GetDefaultiOSDevice()method that checksXcodeVersion.Major >= 16SimulatorLoaderto pass process manager to selector for version detectionTesting
GetDeviceTypeandGetCompanionRuntimeAndDeviceTypemethods with Xcode version checkssimulators.xml) to include both iPhone-16 and iPhone-XS device typescc @rolfbjarne @matouskozak @premun
Fixes #1470
Original prompt
Fixes #1470
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.